#ifndef __2QUEUE_TO_STACK_H__
#define __2QUEUE_TO_STACK_H__

#include "../queue/array_queue.h"

typedef struct astack_t {
    aqueue_t *in_queue;
    aqueue_t *out_queue;
} astack_t;

int astack_init(astack_t **s, int capacity, int size);

int astack_empty(astack_t *s);

int astack_full(astack_t *s);

int astack_push(astack_t *s, const void *data);

int astack_pop(astack_t *s, void *elem);

void astack_destroy(astack_t **s);

#endif
